package com.xwwx.tag;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
/**
 * 功能:容器相对路径标签
 * @author liwei
 * @since 2010-06-04
 */
@SuppressWarnings("serial")
public class InitialContextTag extends TagSupport{
	//TagSupport类不需要交互
	//BodyTagSupport需要交互
	//交互就是标签处理类是否要读取标签体的内容和改变标签体返回的内容。

	//doStartTag()方法是遇到标签开始时会呼叫的方法，其合法的返回值是EVAL_BODY_INCLUDE与SKIP_BODY,前者表示将显示标签间的文字，后者表示不显示标签间的文字；
	public int doStartTag(){
		return EVAL_BODY_INCLUDE;
	}
	
	//doEndTag()方法是在遇到标签结束时呼叫的方法，其合法的返回值是EVAL_PAGE与 SKIP_PAGE，前者表示处理完标签后继续执行以下的JSP网页，后者是表示不处理接下来的JSP网页
	public int doEndTag(){
		String str = ((HttpServletRequest) pageContext.getRequest()).getContextPath();
		//pageContext.setAttribute(id, str);
		JspWriter out = pageContext.getOut();
		try{
			out.print(str);
		}catch(IOException  e){
			e.printStackTrace();
		}
		return EVAL_PAGE;
	}
}
